package mode

import "time"

type Video struct {
	Id       uint64    `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	UserId   int64     `gorm:"column:user_id;type:bigint(20);comment:用户id;not null;" json:"user_id"`                           // 用户id
	Title    string    `gorm:"column:title;type:varchar(255);comment:标题;not null;" json:"title"`                               // 标题
	Video    string    `gorm:"column:video;type:varchar(255);comment:视频;not null;" json:"video"`                               // 视频
	Describe string    `gorm:"column:describe;type:varchar(255);comment:描述;not null;" json:"describe"`                         // 描述
	Category string    `gorm:"column:category;type:varchar(255);comment:类别;not null;" json:"category"`                         // 类别
	Like     int32     `gorm:"column:like;type:int(10);comment:点赞量;not null;" json:"like"`                                    // 点赞量
	Play     int32     `gorm:"column:play;type:int(10);comment:播放量;not null;" json:"play"`                                    // 播放量
	State    int32     `gorm:"column:state;type:int(10);comment:状态  1待审核 2 通过 3 未通过;not null;default:1;" json:"state"` // 状态  1待审核 2 通过 3 未通过
	CreateAt time.Time `gorm:"column:create_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"create_at"`
	UploadAt time.Time `gorm:"column:upload_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"upload_at"`
	DeleteAt time.Time `gorm:"column:delete_at;type:datetime(3);default:NULL;" json:"delete_at"`
}

func (v *Video) TableName() string {
	return "video"
}
